package top.lidee.common.service.twice.management;

import com.baomidou.mybatisplus.extension.service.IService;

import top.lidee.common.dto.AccountInfo;
import top.lidee.framework.result.PageUtils;
import top.lidee.framework.result.ResponseResult;
import top.lidee.repository.model.twice.pojo.management.BmsManagerEntity;
import top.lidee.repository.model.twice.vo.management.ManagerAddVo;

import java.util.List;
import java.util.Map;

/**
 * 后台管理系统-管理员/服务商表
 *
 * @author zhangzhan
 * @email 52194440@qq.com
 * @date 2024-09-23 14:39:33
 */
public interface BmsManagerService extends IService<BmsManagerEntity> {


    /**
     * @description 根据条件查询人员
     * @param params
     * @return java.util.List<top.lidee.repository.model.twice.pojo.management.BmsManagerEntity>
     * @author zhangyiheng
     * @date 2024/9/23 16:14
     */
    List<BmsManagerEntity> queryManagerByParams(Map<String, Object> params);

    /**
     * @description 后台管理系统-人员表新增下级
     * @param managerAddVo
     * @return void
     * @author zhangyiheng
     * @date 2024/9/23 23:24
     */
    ResponseResult saveManager(ManagerAddVo managerAddVo, AccountInfo accountInfo);

    /**
     * @description 条件查询
     * @param params 
     * @return top.lidee.framework.result.PageUtils
     * @author zhangyiheng 
     * @date 2024/9/23 23:56
     */
    PageUtils queryPage(Map<String, Object> params,AccountInfo accountInfo,String ipAddr);

    /**
     * @description 后台管理系统-修改状态
     * @param managerId
     * @return void
     * @author zhangyiheng
     * @date 2024/9/24 00:40
     */
    ResponseResult updateStatus(Integer managerId,AccountInfo accountInfo);

    /**
     * @description 后台管理系统-人员表删除
     * @param managerIds
     * @return void
     * @author zhangyiheng
     * @date 2024/9/24 00:51
     */
    ResponseResult removeByIds(Integer[] managerIds,AccountInfo accountInfo);



    Integer getIdByName(String managerName);

    ResponseResult getAllManagesInfo();


}

